package com.syl.practice.init.demo01;

/**
 *  参照：https://blog.csdn.net/sinat_34089391/article/details/80439852
 *
 *  一个类中的初始化顺序：
 *  类内容（静态变量、静态初始化块） => 实例内容（变量、初始化块、构造器）
 *
 *  其中 静态变量和静态代码块执行顺序：谁在上面谁先执行
 */
public class InitialOrderTest {
    /* 静态变量 */
    public static String staticField = "静态变量";
    /* 变量 */
    public String field = "变量";

    /* 静态初始化块 */
    static {
        System.out.println(staticField);
        System.out.println("静态初始化块");
    }

    /* 初始化块 */ {
        System.out.println(field);
        System.out.println("初始化块");
    }

    /* 构造器 */
    public InitialOrderTest() {
        System.out.println("构造器");
    }


    public static void main(String[] args) {
        System.out.println("main方法");
        new InitialOrderTest();
    }
}
